Apparatuses and methods for detecting a loop count in a delay-locked loop

ABSTRACT

Apparatuses and methods are disclosed for detecting a loop count in a delay-locked loop that uses a divide clock in a measure initialization process. An example apparatus includes a divider configured to receive a signal and produce a first divided signal and a second divided signal that is complementary to the first divided signal, a first circuit configured to count the first divided signal during a first enabled period and produce a first count value, a second circuit configured to count the second divided signal during a second enabled period and produce a second count value, and an adder configured to produce a third count value responsive to the first and second count values.

CROSS REFERENCE TO RELATED APPLICATION(S)

This application is a divisional of pending U.S. patent application Ser.No. 15/697,773 filed Sep. 7, 2017. The aforementioned application isincorporated herein by reference, in its entirety, for any purpose.

BACKGROUND

Many high speed electronic systems operate with critical timingrequirements that dictate a need to generate a periodic clock waveformpossessing a precise timing relationship with respect to some referencesignal. The improved performance of computing integrated circuits andthe growing trend to include several computing devices on the same boardpresent a challenge with respect to synchronizing the time frames of allthe components.

While the operation of all components in the system should be highlysynchronized, i.e., the maximum skew in time between significant edgesof the internally generated clocks of all the components should beminimized, it is not enough to feed the external clock of the system toall the components. This is because different chips may have differentmanufacturing parameters, which, when taken together with additionalfactors such as ambient temperature, voltage, and processing variations,may lead to large differences in the phases of the respective chipgenerated clocks.

Synchronization can be achieved by using a timing circuit, such as adigital delay locked loop (DDLL) circuit, to detect the phase differencebetween clock signals of the same frequency and produce a digital signalrelated to the phase difference. DDLL circuits may require a relativelylarge number of clock cycles to synchronize. In conjunction with a DLLcircuit, an open-loop topology may be used, such as a measure-controlleddelay (MCD) circuit, where a timing measurement directly controls avariable delay. MCD circuits exhibit a fast lock capability (e.g.,within 1-4 clock cycles after initialization). The MCD circuit generatesan initial measurement, and the DDLL takes over to maintain the lock andtrack variations over time.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a schematic illustration of a portion of a memory according toan embodiment of the disclosure.

FIG. 2 is a schematic illustration of a synchronization path accordingto an embodiment of the disclosure for the memory shown in FIG. 1.

FIG. 3 is a schematic illustration of a delay-locked loop for the memorydevice of FIG. 1 according to an embodiment of the disclosure.

FIG. 4 is a schematic illustration of a delay-locked loop according toan embodiment of the disclosure.

FIG. 5 is a schematic illustration of synchronizer circuits for thedelay-locked loop of FIG. 4 according to an embodiment of thedisclosure.

FIG. 6 is a timing diagram for various signals during operation of thesynchronizer of FIG. 5 according to an embodiment of the disclosure.

FIG. 7 is a timing diagram for various signals during operation of thedelay-locked loop of FIG. 4 according to an embodiment of thedisclosure.

FIG. 8 is a schematic illustration of a loop counter for thedelay-locked loop of FIG. 4 according to an embodiment of thedisclosure.

FIG. 9 is a timing diagram for various signals during operation of theloop counter embodiment of FIG. 7 according to an embodiment of thedisclosure.

DETAILED DESCRIPTION

The present disclosure is directed to systems and methods for detectinga loop count in a delay-locked loop that uses a divide clock in ameasure initialization process. A delayed-locked loop may be a componentof a memory and may be used by the memory to synchronize internal clocksignals with an externally received clock. In operation, thedelay-locked loop may be reset from time to time in order to ensureproper synchronization under different operating conditions, afterpower-up, and so on. As part of the reset process, the delay-locked loopmay execute a measure initialization process, which functions to set anamount of delay of a variable line. The variable delay line may bearranged in the forward path of a memory command. The variable delay mayone part of an overall delay that is encountered by the command as ittraverses the forward command path. A loop counter may be employedduring the measure initialization process to count N, the number ofclock cycles it takes a reference clock to traverse a feedback loopassociated with the delay-locked loop. In accordance with embodimentsthat use a divide clock in the timing pathway, the counter may includeseparate N-detect blocks for each portion of the divided clock.

FIG. 1 is a schematic illustration of a portion of a memory 100according to an embodiment of the disclosure. The memory 100 includes anarray 104 of memory cells, which may be, for example, DRAM memory cells,SRAM memory cells, flash memory cells, or some other type of memorycells. The memory 100 may be generally configured to operate incooperation with a larger digital system that includes at least aprocessor configured to communicate with the memory 100. In the presentdescription, “external” refers to signals and operations outside of thememory 100, and “internal” refers to signals and operations within thememory 100. As an illustrative example, the memory 100 may be coupled toa microprocessor that provides external commands and clock signals tothe memory 100. Although examples in the present description aredirected to synchronous memory devices, the principles described hereinare equally applicable to other types of synchronous integratedcircuits.

The memory 100 may be generally configured to execute read and/or writecommands received from an external device. Read commands provide datastored in the array 104 to the external device across a data bus 108.Write commands receive data from the external device across the data bus108 and store the data in the memory array 104. The following discussiongenerally references read commands by way of example and not limitation.In processing a read command, the memory 100 receives an external clockCLK and generates an internal clock that synchronizes internal signalsso as to provide output data on the data bus 108 with appropriatetiming. Here, the memory device 100 uses a delay-locked loop 112 tosynchronize internal signals including generating a data strobe signal114. The data strobe signal 114 is provided as output to the externalcontroller and is asserted at a time when the requested read data isavailable on the data bus 108 for capture by the external controller.

The memory system 100 includes a command decoder 116 that receivesmemory commands through a command bus 120. The command decoder 116responds to memory commands applied to the command bus 120 by generatingcorresponding control signal to perform various operations on the memoryarray 104. For example, the command decoder 116 may generate, internalcontrol signals to read data from and/or write data to the memory array104. Row and column address signals associated with a particular commandare applied to the memory 100 through an address bus 124. The addressbus 124 provides the row and column address signals to an addressregister 128. The address register 128 then outputs a separate columnaddress and a separate row address to the memory array 104.

As can be seen in FIG. 1, row and column addresses may be provided bythe address register 128 to a row address decoder 132 and a columnaddress decoder 136, respectively. The column address decoder 128selects bit lines extending through the array 104 corresponding torespective column addresses. The row address decoder 132 includes or iscoupled to a word line driver or similar component that activatesrespective rows of memory cells in the array 104 corresponding toreceived row addresses. The selected data line (e.g., a bit line or bitlines) corresponding to a received column, address are coupled to aread/write circuitry 140 to provide read data to a data output buffer orsimilar component via an input-output data bus 108. The read/writecircuitry 140 may receive a latency control signal from a latencycontrol 141. Write data is applied to the memory array 104 through adata input buffer or similar component and the memory array read/writecircuitry 140.

The timing of signals external to the memory 100 may be determined bythe external clock CLK. Operations within the memory 100 are typicallysynchronized to external operations. The delay-locked loop 112 isgenerally configured to receive the external clock CLK and generate asynchronized internal clock signal. The synchronized internal clocksignal generated by the delay-locked loop 112 may be provided to variousinternal memory components in order to facilitate the latching ofcommand, address, and data signals in accordance with the external clockCLK. For example, data output may be placed on the data bus 104 of thememory 100 in synchronism with the external clock CLK so that the memorydevice 100 outputs data in a manner that allows the data to be capturedby the external controller. To output data with proper timing, thedelay-locked loop 112 develops an internal clock signal in response tothe external clock signal and applies the internal clock signal tolatches contained in the memory device 100 to clock data. The generalconnection of the delay-locked loop 112 to other component of the memory100 will now be described in greater detail with reference to FIG. 2.

FIG. 2 is a block diagram that illustrates a synchronization path forvarious signals within a memory 200 in accordance with the presentdisclosure. The memory 200 may correspond to the memory 100 of FIG. 1.Certain components illustrated in FIG. 1 are omitted from FIG. 2 inorder to simplify the drawing. FIG. 2 illustrates a path of varioussignals that propagate from memory 200 input to output in the course ofthe memory 200 executing a write or read operation. FIG. 2 includes adelay-locked loop 204, which may correspond to the delay-locked loop 112of FIG. 1. The delay-locked loop 204 is generally configured to provideclock synchronization within the memory 100. As used herein, the termsynchronized includes signals that are coincident and signals that havea desired delay relative to one another.

As described in connection with FIG. 1, the memory 200 receives a CLKsignal from an external source, such as a computing device coupled tothe memory device 200. Initially, the external CLK may be received asinput at both the delay-locked loop 204 and a command decoder 208. Thecommand decoder 208 is generally configured to receive an externalcommand, decode the command, and to output separate internal controlsignals to perform various operations, for example, read operations,write operations, etc. The command decoder 208 may correspond to thecommand decoder 116 of FIG. 1. The outputs drive a memory array (shownin FIG. 1) so as to provide read data to a latency control 212. Thelatency control 212 of FIG. 2 may correspond to the latency control 141in FIG. 1 and, may be constructed by a shift register and othercomponents of FIG. 1. Once the read data is received at the latencycontrol 212, the latency control 212 may provide the data out the databus 220 that provides an interface between the memory 200 and theexternal controller. This path out to the data bus 220 is generallyreferred to as the clock and command tree 216 in FIG. 2. When therequested read data is present on the data bus 220, the memory 200 mayassert the data strobe line 224 to indicate to the external controllerthat data is available for capture.

FIG. 2 additionally shows a delay component 228 that is generallyarranged proximate to the output of the command decoder 208. The delaycomponent 228 is coupled to the delay-locked loop 204 and is generallyconfigured to provide a replica of the delay that is present in thedelay-locked loop 204. As a part of providing clock synchronizationwithin the memory 200, the delay-locked loop 204 adjusts the amount ofdelay that is provided by the delay component 228. Here, thedelay-locked loop 204 controls the amount of delay that is generated bythe delay component 228 so as to delay the read command by an amountthat causes the read command timing to synchronize with an internalclock that is output from the delay-locked loop 204.

The output clock provided by the delay-locked loop is generallyidentified in FIG. 2 as DIIClk. The delay-locked loop 204 is generallyconfigured generate the DIIClk signal based the external clock CLK thatit receives as input. As shown in FIG. 2, DIIclk is coupled to thelatency control 212 and to a clock and command tree 216. By controllingthe amount of delay that is present in the DIIClk signal, thedelay-locked loop 204 provides an approximate delay that closely matchesthe phase difference between input (CLK) and output (DIIclk) clocksignals. The delay-locked loop 204 introduces a corresponding amount ofdelay into the command path via control of the delay component 228. Inthis way, commands are synchronized with the DIIClk clock when thecommand arrive at components such as the latency control 212 and theclock and command tree 216, which are in the DIIClk domain. Theoperation of a delay-locked loop will now be described in greater detailwith reference to FIG. 3.

FIG. 3 is a schematic illustration of a delay-locked loop 300 forproviding an approximate delay that closely matches the phase differencebetween input and output clock signals. The delay-locked loop 300 maycorrespond to the delay-locked loop 112 of the FIG. 1 and/or thedelay-locked loop 204 of FIG. 2. The delay-locked loop 300 uses afeedback configuration that operates to feed back a phasedifference-related signal to control one or more delay lines, such as avariable delay line 304, for advancing or delaying the timing of oneclock signal to “lock” to a second clock signal.

An external clock CLK is initially applied to the circuit 300 andreceived by an input buffer 304 that provides a buffered clock signalClkRef to the delay-locked loop circuit 300. The ClkRef signal isdelayed relative to the external clock CLK due to a propagation delay ofthe input buffer 30. The ClkRef signal is then applied to variable delayline 304 that includes a number of delay stages. The variable delay line304 may include a shift register or similar component that selects delaystages so as to apply a measured delay for adjusting the phase of theClkRef signal. The shift register or other component controlsadjustments to the variable delay line 304 by providing shift controlsignals in response to receiving control signals from a phase detector312.

In response to the shift control signals, the variable delay line 304applies a measured delay to adjust the phase of the ClkRef signal nearthe desired phase for achieving the phase lock condition. The variabledelay line 304 generates an output signal DIIClk. The DIIClk signal isprovided to a model delay circuit 316 that duplicates inherent delaysadded to the applied external clock signal as it propagates through thedelay loop, such as the input buffer 304 plus output path delay 320 thatmay occur after the delay-locked loop 300.

The model delay circuit 316 then provides a feedback signal ClkFb to thephase detector 312. The phase detector 312 compares the phases of theClkRef signal and the ClkFb signal to generate shift selection signalsto the shift register to control the variable delay line 304. The shiftselection signal instructs the shift register to increase the delay ofthe variable delay line 304 when the ClkFb signal leads the ClkRefsignal, or decrease the delay in the opposite case. The delay may beincreased or decreased by adding or subtracting a number of stages usedin the variable delay line 304, where the variable delay line 304includes number of delay stages. In this manner, the delay-locked loop300 may synchronize an internal clock signal DIIClk with an externalclock CLK.

The measured delay that is applied to adjust the phase of the ClkRefsignal is typically determined through a “measure initialization”process that is executed by a memory from time to time in order toensure proper synchronize under different operating conditions, afterpower-up, and so on. As was described above, the DLL 300 may take acertain amount of time to achieve a “locked” condition. This time may beshortened if the variable delay line 304 was initially set to a delaywhich approximates the anticipated needed delay to synchronize theinternal and external clock signals. Minimal delay may be preferable forlocking purposes due to lower power being consumed. In order to providethis initial delay, some DLL circuits may include a measurementinitialization capability. The process of measure initialization willnow be described in greater detail with reference to FIG. 4.

FIG. 4 is a simplified block diagram of a delay-locked loop 400 inaccordance with the present disclosure is illustrated. FIG. 4 includes ameasure controlled delay circuit 420 and a loop counter 460. The measurecontrolled delay circuit 420 is generally configured to determine anappropriate variable delay amount to be applied in a given circumstanceto ensure appropriate synchronization of signals in a memory. Themeasure controlled circuit 420 operates during a “measureinitialization” process that servers to configure the delay-locked loop400. Thus, measure initialization typically takes place before thememory of which the delay-locked loop 400 is part begins executing reador write commands.

The loop counter 460 also executes during this initial configurationprocess to detect N, which herein refers to the number of clock cyclesthat occur during the measure initialization process. More specifically,N refers to the number of clock cycles it take for a reference clock totraverse the feedback loop that makes up the delay-locked loop 400. Thememory uses the value of N in a number way following its measurement bythe loop counter 460 during the measurement process. In one respect, thememory uses N to make further timing adjustment to ensure that thememory meets specified latency requirements. These further timingadjustments may take the form of adjusting timing amounts throughshifters or the like that are associated with components that aredownstream from the delay-locked loop 400. In another respect, the valueof N as detected by the loop counter 460 may be provided to the phasedetector of the delay-locked loop to ensure that subsequent timingadjustments made within the delay-locked loop 400 occur at an effectiverate.

In the following discussion, both the measure controlled delay circuit420 and the loop counter 460 are addressed. The measure controlled delaycircuit 420 is discussed first. Following this, the loop counter 460 isdiscussed. Although present embodiments are described with reference toa measure controlled delay circuit to establish the synchronizationbetween the input and output clock signals, the scope of theseembodiments is not so limited. Other types of synchronization circuits,including a synchronous mirror delay circuit and a phase locked loopcircuit may be used.

Referring to FIG. 4, the delay-locked loop 400 includes a measure delayarray 405, a measure circuit 410, and a forward delay array 415 thatcombine to form the measure controlled delay circuit 420. The externalclock CLK is provided to a buffer circuit 425, which is in turn coupledto the forward delay array 415. The buffer circuit 425 represents theinput circuitry of the memory 100 (see FIG. 1) and may include one ormore buffers and/or other logic circuitry.

A multiplexer 430 is coupled to receive inputs from the buffer 425 andthe forward delay array 415. The multiplexer 430 is controlled during ameasurement initialization cycle to bypass the forward delay array 415until the timing signals have propagated through the delay-locked loop400 and the measure controlled delay circuit 420 can be locked, as willbe described in greater detail below. Following the measurementinitialization cycle, the multiplexer 430 is controlled to select theoutput of the forward delay array 415 as its input.

The output of the multiplexer 430 is provided to a buffer circuit 435,and the buffer circuit 435 is in turn coupled to another buffer circuit440. The buffer circuit 440 represents the output circuitry (i.e.,output drivers, slew rate control devices, etc.) of the memory 100 (seeFIG. 1) and may include one or more buffers and/or other logiccircuitry. The output of the buffer circuit 440 represents the outputclock signal DIIClk used by the memory 100.

A phase detector 445 is coupled to the buffer 425 for receiving areference clock signal ClkRef and to a model delay circuit 450 forreceiving a feedback clock signal ClkFb. The phase detector 445 measuresa phase difference between the ClkRef signal provided by the buffercircuit 425 and the ClkFb signal exiting the model delay circuit 450.The phase detector 445 controls the amount of delay imposed by theforward delay array 415 responsive to the measured phase difference.

The model delay circuit 450 models the delay introduced into theexternal clock CLK by the buffer circuit 425 (d1) and the outputcircuitry of the memory 100 (d3) (e.g., the buffer circuit 440) togenerate the feedback clock signal ClkFb. The modeled delays arereferenced as d1′ and d3′ to correspond to the actual delays d1 and d3,respectively. The output of the buffer 435 is provided to the modeldelay circuit 450. Because the output of the buffer circuit 433 is fedto the model delay circuit 450, its delay (d2) need not be modeled bythe model delay circuit 450. The output of the phase detector 435 isprovided to the forward delay array 415 for controlling thesynchronization after the completion of the measurement initializationcycle.

The feedback clock signal ClkFb generated by the model delay circuit 450is coupled to provide a clock signal to a first clock divider 464. Thefirst clock divider 464 receives the undivided clock ClkFb as input andprovides a divided clock as output. As can be seen in FIG. 4, firstclock divider 464 provides output including a first signal line labelledas ClkFbDiv and a second output line labelled as ClkFbDivF. The firstclock divider 464 drives these two signal lines based on the ClkFbsignal such that ClkFbDiv and ClkFbDivF each has period that is twicethat of the ClkFb. One output signal, such as ClkFbDiv, is in phase withthe ClkFb. The other output signal, ClkFbDivF is the inverse ofClkFbDiv. ClkFbDiv and ClkFbDivF may be coupled to a measurement trigger465 that generates a feedback clock enable signal MsDyClk, which isprovided as input to a delay array 420 to start a measurement of aforward delay (N*tCK−(d2+d1′+d3′)).

The reference clock signal ClkRef generated by the buffer 425 is coupledto provide a clock signal to a second clock divider 454. The secondclock divider 454 receives the undivided clock ClkRef as input andprovides a divided clock as output. As can be seen in FIG. 4, secondclock divider 454 provides output including a first signal line labelledas ClkRefDiv and a second output line labelled as ClkRefDivF. The secondclock divider 454 drives these two signal lines based on the ClkRefsignal such that ClkRefDiv and ClkRefDivF each has period that is twicethat of the ClkRef. One output signal, such as ClkRefDiv, is in phasewith the ClkRef. The other output signal, ClkRefDivF, is the inverse ofClkRefDiv. ClkRefDiv and ClkRefDivF may be coupled to a start trigger455 that generates a count start signal FbClkEn, which is provided as astart signal to a counter 460. ClkRefDiv and ClkRefDivF additionallyprovide clock inputs to the counter 460 at Clock and ClockF,respectively.

The MsDyClk signal is provided to a delay element 470. The delay element470 provides a fixed minimum delay to allow the delay-lock loop 415 tooperate over a wide range of conditions. The amount of delay provided bythe delay element 470 may vary depending on the particularimplementation. The delay element 470 is coupled to a synchronizer 475that is clocked by the ClkRefDiv and/or ClkRefDivF signals to generate ameasurement pulse signal MStrobe. The MStrobe signal is coupled to thecounter 460 as a stop input. The MStrobe signal is also provided to themeasure circuit 410 to trigger the synchronization of the input andoutput clock signals.

Following the discussion of the synchronizer 475, the operation of thedelay-locked loop 400 will be described in greater detail.

FIG. 5 is a circuit diagram that includes an example configuration for asynchronizer 508. The synchronizer 508 may correspond to thesynchronizer 475 of FIG. 4. The synchronizer 508 includes two chains ofseries-connected flip-flops. The synchronizer 508 includes a chain oftwo upper flip-flops 528, 532 connected in series and a chain of twolower flip-flops 536, 540 connected in series. ClkRefDiv is coupled tothe synchronizer 508 and provides a clock input for the upper flip-flops528, 532. ClkRefDivF is coupled to the synchronizer 508 and provides aclock input for the lower flip-flops 536, 540.

The synchronizer 508 is configured to provide the MStrobe signal asoutput. The synchronizer 508 provides the output signal via a NAND gatethat is coupled to the two sets of series connected flip-flops of thesynchronizer. The synchronizer 508 includes NAND gate 548 that receivesan output signal Q_(D1F) from the first upper flip-flop 532 as a firstinput. An output signal Q_(D2F) from the second lower flip-flop 540provides the second input to the NAND gate 548. The MStrobe signal isprovided as output from the NAND gate 548 of the synchronizer 508.

The synchronizer 508 is configured to provide a clock edge on theiroutputs that is delayed three clock cycles with respect to an undividedclock signal. FIG. 6 is a timing diagram that provides an illustrationof the synchronizer behavior with reference to the signals of thesynchronizer 508 by way example and not limitation. FIG. 6 includessignal traces for ClkRefDiv and ClkRefDivF, which as can be seen, are180 degrees out of phase. FIG. 6 also includes a signal trace for theundivided clock ClkRef. As can be seen, ClkRefDiv and ClkRefDivF havetwice the period in comparison to that of ClkRef. FIG. 6 includes signaltraces for D the synchronizer triggering signal, Q_(D1F) the output ofthe upper flip-flop chain, Q_(D2F) the output of the lower flip-flopchain, and MStrobe the output of the synchronizer 508.

Once the D signal is asserted, the D signal will propagate through boththe upper flip-flops 528, 532 and the lower flip-flop 536, 540. Theupper flip-flop 528, 532 are clocked on the rising edge of ClkRefDiv.The lower flip-flops 536, 540 are clocked on the rising edge ofClkRefDivF. Because these clock signals are 180 degrees out of phase,the D signal will emerge at the ends of the flip-flop chains atdifferent times. For example, if the rising edge of the D signal occursbetween the falling edge and the rising edge of ClkRefDiv, the D signalwill emerge from the upper flip-flops 528, 532 before the D signalemerges from the lower flip-flops 536, 540. In contrast, if the risingedge of the D signal occurs between the falling edge and the rising edgeof ClkRefDivF, the D signal will emerge from the lower flip-flop 536,540 before the D signal emerges from the upper flip-flops 528, 532.

The latter example, where the D signal emerges first from the lowerflip-flop 536, 540, is illustrated in FIG. 6. Here, the rising edge ofthe D signal occurs at time point A. The first rising clock edge aftertime point A occurs in ClkRefDivF at point B. Thus, at time point B, theD signal begins to propagate through the lower flip-flop chain as thefirst flip flop 536 is clocked by ClkRefDivF. The D signal does notbeing propagating through the upper flip-flop chain until the first flipflop 528 is clocked by ClkRefDiv at time point C. The second lowerflip-flop 540 is clocked by ClkRefDivF at time point D, at which pointQ_(D2F) is asserted by way of a falling edge. Q_(D1F) is asserted at alater time (time point E) when the second upper 532 flip-flop is clockedby ClkRefDiv. MStrobe is driven by a NAND gate 548 having Q_(D1F) andQ_(D2F) as inputs. Thus, a rising edge on MStrobe will occur on either afalling edge of Q_(D1F) or a falling edge of Q_(D2F). In the example ofFIG. 6, a falling edge on Q_(D2F) occurs first at point D. Thus, thispoint also corresponds to the rising edge of MStrobe.

As can be seen from FIG. 6, three clock cycles of the undivided clockClkRef occur between the rising edge of the D signal and the rising edgeof MStrobe. The number of flip-flops used in the synchronizer 508 mayvary depending on the particular implementation resulting in differenttimings as measured by the undivided clock ClkRef. In the illustratedembodiment, three clock cycles of the undivided clock are used to allowthe feedback path to be populated with clock signals and stabilize priorto synchronizing the clock signals.

Referring again to FIG. 4, the operation of the delay-locked loop 400 isnow described in greater detail. Prior to synchronization, themultiplexer 430 is controlled to bypass the forward delay array 415.Hence, the feedback clock signal, ClkFb, is simply the reference clocksignal, ClkRef, after it passes through the multiplexer 430, the buffer435, and the model delay circuit 450. When the clock signal begins totransition, the ClkRef signal, now divided as ClkRefDiv and ClkRefDivF,clocks the data flip-flops of the start trigger 455. At a later point intime, the ClkRef signal propagates through the feedback path and therising edges are seen in the ClkFb signal, which clocks the flip flopsof the measurement trigger 465 as the divided clocks ClkFbDiv andClkFbDivF.

Following the three clock cycles of the undivided clock that occur asdescribed above via the operation of the start trigger 455, 508, theFbClkEn signal is asserted, and the counter 460 begins counting eachpulse on the ClkRefDiv and ClkRefDivF signals. The ClkFbDiv andClkFbDivF signals clock the flip-flops of the measurement trigger 465,and after three pulses of the undivided clock, the MsDyClk signal isasserted, which clocks the measure delay array 405. The MsDyClk signalgenerated by the measurement trigger 465 propagates through the measuredelay array 405 until the measure circuit 410 is triggered. The measurecircuit 410 includes a series of latches (not shown) that are triggeredby the MStrobe signal. The particular latches triggered are those thatcorrespond to the position of the pulse in the measure delay array 405.

Subsequently, the MsDyClk signal passes through the delay element 470and is latched in the synchronizer 475 following the next rising edge ofthe ClkRef signal, thus generating the MStrobe signal. The MStrobesignal stops the counter 460 and latches the measure circuit:410,thereby configuring the forward delay array 415 to synchronize the CLKand DIIClk signals. The START and STOP signals provided to the counter460 are synchronized with rising edges of the ClkRefDiv and ClkRefDivFsignals. The value of the counter 460, LoopCount, represents the numberof clock signals required for the reference clock signal to propagatethrough the feedback path.

After the forward delay array 415 is configured, the multiplexer 430 isconfigured to select the forward delay array 415 as its input. Theoutput of the forward delay array 415 then passes through the buffer 435and the model delay circuit 450 and becomes the source for the feedbackclock signal, ClkFb, provided to the phase detector 445. The phasedetector 445 subsequently controls the forward delay array 415 tomaintain the synchronization of the CLK and DIIClk signals. The ClkFbsignal is synchronized with the ClkRef signal with a multiple clockcycle difference, N*tCK. The LoopCount output of the counter 460represents the value of N. Generally, a higher frequency clock signalresults in a larger value for N.

Turning now to FIG. 7, a tuning diagram illustrating the operation ofthe delay-locked loop 400 is provided. The reference clock, ClkRef, andcorresponding feedback clock, ClkFb, are illustrated. A MeasureInitsignal represents the mode of the measure circuit 410. The measurecontrolled delay circuit 420 is operated during the measureinitialization mode, and the delay-locked loop is operated otherwise.The measurement strobe, MStrobe, feedback clock enable, FbClkEn, andmeasurement delay clock, MsDyClk signals are also illustrated. A countersignal is provided to illustrate the time period that the counter 460 isenabled. The counter signal is not an actual signal employed in thedelay-locked loop 400, but rather is a composite of the FbClkEn andMStrobe signals that start and stop the counter 460.

At time point A, the reference clock signal begins transitioning. Thedelay-locked loop 400 operates in measurement initialization mode, sothe MeasureInit signal is asserted and the multiplexer 430 is configuredto bypass the forward delay array 415. At time point B, the flip-flopsof the start trigger 455 latch either ClkRefDiv or ClkRefDivF on a thirdcycle of the undivided clock ClkRef, thus asserting the FbClkEn signaland starting the counter 460. At time point C, the third cycle of theClkFb signal is latched by the measurement trigger 465 indicating thatthe reference clock has propagated the feedback path and causing theassertion of the MsDyClk signal. The MsDyClk signal pulses the measuredelay array 405.

At time point D, the MsDyClk signal, as delayed by the delay element 470is latched in the flip-flop 475 causing the assertion of the MStrobesignal. The MStrobe signal activates the measure circuit 410 todetermine the position of the previous MsDyClk pulse in the measuredelay array 405 and stop the counter 460. The delay in the forward delayarray 415 is set by the position latched in the forward delay array 415to synchronize the reference and feedback clock signals.

At time point F, the MeasureInit signal is deasserted and themultiplexer 430 is configured to use the signal passing through theforward delay array 415 for the output clock signal, DIIClk. At timepoint F, the signal passing through the forward delay array 415 to thebuffer 435 propagates through the feedback path to the model delaycircuit 450 to become the ClkFb signal. The ClkRef and ClkFb signals areprovided to the phase detector 445 for subsequent synchronizationcontrol. Subsequent changes in the relative phases of the ClkRef andClkFb signals will cause the phase detector 445 to adjust the delayprovided by the forward delay array 415 to maintain synchronization.

The LoopCount value determined by the counter 460 represents the valueof N, which identifies the number of clock cycles that the output clockis offset from the input clock. The LoopCount value has various uses.For example, LoopCount value is useful for establishing read latency ina memory device. An exemplary device employing the LoopCount isdescribed in U.S. Pat. No. 6,687,185, entitled “METHOD AND APPARATUS FORSETTING AND COMPENSATING READ LATENCY IN A HIGH SPEED DRAM,” assigned tothe assignees of the present application, and incorporated herein byreference in its entirety.

FIG. 8 is a circuit diagram for a loop counter 800 in accordance withthe present disclosure. The loop counter 800 may correspond to the loopcounter 460 of FIG. 4. The loop counter 800 is generally configured tocount the number of clock cycles N that occur during an initializationof a delay-locked loop (shown in FIG. 1-4). The loop counter 800includes an upper N-detect block 802 and a lower N-detect block 804.Each N-detect block 802, 804 is configured for a partial count of thetotal number of clock cycles N. In this regard, each N-detect block iscoupled to a ripple counter, each of which is coupled to an adder. Morespecifically, the upper N-detect block 802 is coupled to an upper ripplecounter 806. The lower N-detect block 804 is coupled to a lower ripplecounter 808. The upper ripple counter 806 and the lower ripple counter808 are each coupled to an adder 810 that provides the loop counter 800output.

The loop counter 800 includes a plurality of signal pathways throughwhich inputs received at the loop counter 800 propagate. The loopcounter 800 includes an upper clock pathway 812 and a lower clockpathway 814. The upper clock pathway 812 propagates ClkRefDiv andClkRefDivF through the upper N-detect block 802. Similarly, the lowerclock pathway 814 propagates ClkRefDiv and ClkRefDivF through the lowerN-detect block 804. The upper clock pathway 812 couples to upper andlower NAND gates 820, 822. Similarly, the lower clock pathway 814couples to upper and lower NAND gates 826, 828. In each clock pathway,the upper NAND gates 820, 826 are configured to pass an output signal toa corresponding ripple counter 806, 808. The lower NAND gates 822, 828are configured to provide signal termination without further signalpropagation.

The arrangement of ClkRefDiv and ClkRefDivF in the first clock pathway812 is opposite to that of the second clock pathway 814. Thus, in theupper clock pathway 812, ClkRefDiv couples to the upper NAND gate 820 togenerate the upper ripple counter 806 input. Here, ClkRefDivF couples tothe lower NAND gate 822 and is terminated. In the lower clock pathway814, ClkRefDivF couples to the upper NAND gate 826 to generate the lowerripple counter 808 input. Here, ClkRefDiv couples to the lower NAND gate828 and is terminated. This arrangement of ClkRefDiv and ClkRefDivFfacilitates counting of different clock cycles by the ripple counters806, 808. As described in greater detail below, the number of clockcycles counted by the ripple counters 806, 808 may be added together toget the total number of clock cycles that occur during an initializationof the delay-locked loop.

The loop counter 800 additionally includes an upper enable pathway 830and a lower enable pathway 832. The upper enable pathway 830 propagatesSTART and STOP signals through the upper N-detect block 802. Similarly,the lower enable pathway 832 propagates the START and STOP signalsthrough the lower N-detect block 804. As shown in FIG. 4, the STARTsignal corresponds to the FbClkEn signal that is provided as output fromthe start trigger 455. The STOP signal corresponds to the MStrobe signalthat is provided as output from the synchronizer 475. The upper enablepathway 830 couples to a NAND gate 836 that provides a single output toa flip-flop 840. Similarly, the lower enable pathway 832 couples to aNAND gate 844 that provides a single output to a flip-flop 846.

The flip-flops 840, 846 provide a coupling between the clock pathways812, 814 and the enable pathways 830, 832 in a way that facilitates eachN-detect block 802, 804 in its function of clock counting. Here, theflip-flops 840, 846 include two additional inputs from the clock signalpathways 802, 804. The flip-flops 840, 846 in this arrangement areconfigured to provide enable signals to the upper NAND gates 820, 826that are located at downstream points in the N-detect blocks 802, 804.The flip-flop 840 of the upper N-detect block 802 generates an outputthat in FIG. 8 is labelled as ClockEn. The flip-flop 846 of the lowerN-detect block 804 generates an output that in FIG. 8 is labelled asClockEn1.

The output of the first N-detect block 802 couples to the upper ripplecounter 806. The upper N-detect block 802 asserts its output when itcounts a clock cycle. This output causes the upper ripple counter 806 tocount the number of signal assertions generated by the upper N-detectblock 802. The lower ripple counter 808 functions in a similar manner tocount the number of signal assertions generated by the lower N-detectblock 804. The adder 810 sums the inputs from the ripple counters 806,808 to produce a total count value at the output of the counter 800.

FIG. 9 is a timing diagram that provides an illustration of the loopcounter behavior with reference to the loop counter 800 of FIG. 8 by wayof example and not limitation. FIG. 9 includes signal traces forClkRefDiv and ClkRefDivF, which as can be seen, are 180 degrees out ofphase. FIG. 9 also includes signal traces for the START and STOP signal.A rising edge of the START signal corresponds to the beginning of themeasure initialization cycle, as indicated by the FbClkEn signal. Arising edge of the STOP signal corresponds to the end of the measureinitialization cycle, as indicated by the MStrobe signal. FIG. 9 alsoincludes signal traces for the ClockEn and ClockEn1 signals. A risingedge of the ClockEn signal corresponds to the upper N-detect block 802being enabled, as indicated by the output of the flip-flop 840. A risingedge of the ClockEn1 corresponds to the lower N-detect block 804 beingenabled, as indicated by the output of the flip-flop 846. FIG. 9 alsoincludes signal traces for Enabled ClkDR and EnabledClkDF signals.Enabled ClkDR corresponds to the output of the upper N-detect block 802.EnabledClkDF corresponds to the output of the lower N-detect block 804.

The START and STOP signal define a time period during which the counter800 counts clock cycles. In operation, the counter 800 counts clockcycles between the rising edge of the START signal and the rising edgeof the STOP signal. During this time period, the upper N-detect block802 and the lower N-detect block 804 are enabled by ClockEn andClockEn1, respectively. ClockEn goes high when both the counter 800 isin operation, as indicated by the START and STOP signals, and a risingedge occurs on the ClkRefDivF signal. Similarly, ClockEn1 goes high whenboth the counter 800 is in operation, as indicated by the START and STOPsignals, and a rising edge occurs on the ClkRefDiv signal.

ClockEn enables the upper N-detect block 802 to count clock signals ofClkRefDiv. Similarly, ClockEn1 enables the lower N-detect block 804 tocount clock signals of ClkRefDivF. The upper N-detect block 802 counts aclock cycle on the rising edge ClkRefDiv when the upper N-detect block802 is enabled as indicated by the ClockEn signal. Similarly, the lowerN-detect block counts a clock cycle on the rising edge ClkRefDivF whenthe lower N-detect block 804 is enabled as indicated by the ClockEn1signal. Enabled ClkDR and Enabled ClkDF are the resulting output thatoccurs from the upper N-detect block 802 and the lower N-detect block804.

In the example of FIG. 9, operation of the counter 800 begins at timepoint A with a rising edge of the START signal. The rising edge of theSTART signal corresponds to beginning of a measure initialization cycle.A rising edge of the ClkRefDiv signal also occurs at time point A. Thecombination of the counter 800 being in operation and the rising edge ofthe ClkRefDiv signal results in the lower N-detect block 804 beingenabled, as indicated by the rising edge of ClockEn1 at time point A.

At time point B, a rising edge of ClkRefDivF occurs. The combination ofthe counter 800 being in operation and the rising edge of the ClkRefDivFsignal results in the upper N-detect block 802 being enabled, asindicated by the rising edge of ClockEn at time point B. Also, at timepoint B, the combination of the lower N-detect block 804 being enabledas indicated by the ClockEn1 signal and the rising edge of ClkRefDivFsignal results in the lower N-detect block 804 counting a clock cycle.This counting is indicated by the rising edge of the Enabled ClkDFsignal.

At time point C, a rising edge of ClkRefDiv occurs. At time point C, thecombination of the upper N-detect block 802 being enabled as indicatedby the ClockEn signed and the rising edge of ClkRefDiv signal results inthe upper N-detect block 802 counting a clock cycle. This counting isindicated by the rising edge of the Enabled ClkDR signal.

At time point D, a rising edge of ClkRefDivF occurs. At time point D,the combination of the lower N-detect block 804 being enabled asindicated by the ClockEn1 signal and the rising edge of ClkRefDivFsignal results in the lower N-detect block 804 counting a clock cycle.This counting is indicated by the rising edge of the Enabled ClkDFsignal. A rising edge of the STOP signal also occurs at point D. Therising edge of the STOP signal corresponds to the end of the measureinitialization cycle. This rising edge causes the counter 460 to ceaseoperation. With the counter 460 operation suspended, clock cyclecounting does not continue past point D. This behavior can be seen atpoint E where a rising edge of ClkRefDiv occurs, but no clock cyclecounting occurs on the Enabled ClkDR line.

The Enabled ClkDR and Enabled ClkDF signals correspond to the output ofthe upper N-detect block 802 and the lower N-detect block 804,respectively. As described above, the output signal drive the ripplecounters 806, 808, which store a count of the clock cycles as veneratedby the N-detect blocks 802, 804. Output from the ripple counters isreceived at the adder 810, which adds the two count values together andoutputs the resulting value of N on the CLK signal line. With the valueof N known through the operation of the loop counter 800, N may then beused in accordance with the various uses described herein. For instance,a memory may use N to make further timing adjustments in the form ofadjusting timing amounts through shifters or the like that areassociated with components that are downstream from the delay-lockedloop. A phase detector may also employ the N value to ensure that anychanges applied to the delay of the forward delay array are propagatedthrough the feedback path and are reflected in a feedback signal priorto making another phase comparison.

For example, the loop counter 800 can calculate the N (=tFP/tCK) valueusing divide clock. tFP is a forward path delay and tCK is a clockfrequency. According to FIG. 8, the loop counter 800 counts rising pulseand falling pulse of divide clock respectively by using two ripplecounters. The loop counter 800 sums the values obtained by therespective ripple counters. This method can increase settling time (Ts)by using the divide clocks, resulting in enlarging MTBF (mean timebetween failure) value.

The above specification, examples and data provide a completedescription of the structure and use of exemplary embodiments of thedisclosure as defined in the claims. Although various embodiments havebeen described above with a certain degree of particularity, or withreference to one or more individual embodiments, those skilled in theart could make numerous alterations to the disclosed embodiments withoutdeparting from the spirit or scope of the disclosure. Other embodimentsare therefore contemplated. It is intended that all matter contained inthe above description and shown in the accompanying drawings shall beinterpreted as illustrative only of particular embodiments and notlimiting. Changes in detail or structure may be made without departingfrom the basic elements defined in the following claims.

The foregoing description has broad application. The discussion of anyembodiment is meant only to be explanatory and is not intended tosuggest that the scope of the disclosure, including the claims, islimited to these examples. In other words, while illustrativeembodiments of the disclosure have been described in detail herein, theinventive concepts may be otherwise variously embodied and employed, andthe appended claims are intended to be construed to include suchvariations, except as limited by the prior art.

The invention claimed is:
 1. An apparatus comprising: a delay-lockedloop configured to synchronize clock signals internal to a memory withan externally received clock signal; a measure controlled delay circuitconfigured to initialize the delay-locked loop by traversing thedelay-locked loop with a reference clock to determine a variable delayamount; and a loop counter coupled to a divided clock portion of themeasure controlled delay circuit, the loop counter having a firstsection configured to count clock cycles on a first divided clock signaland a second section configured to count clock cycles on a seconddivided clock signal.
 2. The apparatus as claimed in claim 1, whereinthe first section of the loop counter is configured to count the firstdivided clock signal during a first enabled period that is producedresponsive to the first divided clock signal.
 3. The apparatus asclaimed in claim 2, wherein the second section of the loop counter isconfigured to count the second divided clock signal during a secondenabled period that is produced responsive to the second divided clocksignal.
 4. The apparatus as claimed in claim 1, wherein the firstsection of the loop counter includes a first detection block coupled toa first ripple counter.
 5. The apparatus as claimed in claim 4, whereinthe second section of the loop counter includes a second detection blockcoupled to a second ripple counter.
 6. The apparatus as claimed in claim5, wherein the first and second detection blocks are enabled by startand stop signals that indicate, respectively, the beginning and end oftraversing the delay-locked loop.
 7. The apparatus as claimed in claim5, wherein the loop counter includes an adder coupled to the first andsecond ripple counters and configured to output a value N correspondingto the number of clock cycles for the reference clock to traverse thedelays locked loop.
 8. The apparatus as claimed in claim 7, furthercomprising: a delay path configured to receive the clock signal andpropagate the clock signal, and change a delay value thereof responsiveto the value N.
 9. An apparatus comprising: a delay-locked loopconfigured to synchronize an output clock signal with an input clocksignal; a first clock divider circuit configured to divide a referenceclock signal into multiple portions, the reference clock signal based onthe input clock signal; a second clock divider circuit configured todivide a feedback signal, wherein the output clock signal is based onthe feedback signal; a synchronizer circuit configured to provide ameasurement pulse signal based on the divided feedback signal and thedivided reference clock signal; and a loop counter circuit configured tostart a count based on the divided reference clock signal and stop thecount based on the measurement pulse signal, the loop counter circuitcomprising an adder configured to sum counts of each portion of thedivided reference clock signal.
 10. The apparatus of claim 9, furthercomprising a variable delay component configured to delay commandsignals of a memory based on the count provided by the loop countercircuit.
 11. The apparatus of claim 9, further comprising a measurecontrol delay circuit configured to apply an amount of delay to thereference clock signal.
 12. The apparatus of claim 11, furthercomprising a multiplexer configured to provide the reference clocksignal as the feedback clock signal for a first number of cycles of theinput clock signal after initialization and then provide the delayedinput clock signal provided by the measure control delay circuit. 13.The apparatus of claim 11, further comprising a phase detector circuitconfigured to measure a difference between the feedback clock signal andthe reference clock signal, wherein the delay of the measure controldelay circuit has a delay is based, in part on the difference measuredby the phase detector circuit.
 14. The apparatus of claim 9, wherein theloop counter circuit comprises a first clock pathway configured to counta first portion of the divided reference clock signal and a second clockpathway configured to count a second portion of the divided referenceclock signal.
 15. A method comprising: synchronizing clock signalsinternal to a memory with an externally received clock signal with adelay-locked loop; initializing the delay-locked loop with a measurecontrolled delay circuit by traversing the delay-locked loop with areference clock to determine the variable delay amount; and dividing thereference clock into multiple portions; and counting each of themultiple portions of the reference clock with a different section of aloop counter.
 16. The method of claim 15, further comprising adding thecount of each of the multiple portions of the reference clock todetermine a value N corresponding to the number of clock cycles for thereference clock to traverse the delay-locked loop.
 17. The method ofclaim 16, further comprising adjusting the value of a delay time in adelay path, wherein the delay path receives the clock signal andpropagates the clock signal after the delay time.
 18. The method ofclaim 15, further comprising starting the counting based on thereference clock and stopping the counting based on a feedback clockwhich has traversed the delay-locked loop and the reference clock. 19.The method of claim 15, wherein counting each of the multiple portionsof the reference clock comprises propagating each of the multipleportions along a respective one of a plurality of clock pathways to arespective one of a plurality of ripple counters.
 20. The method ofclaim 15, wherein counting each of the multiple portion of the referenceclock comprises counting each of the multiple portions during arespective enabled period.